Introduction to Advanced Numpy Usage

Introducing advanced Numpy and Tkinter usage.

If you have ever seen a video of an aircraft propeller or a helicopter rotor, you may have noticed that the spinning rotor looks strange. Rather than looking like a filled-in circle, sometimes the propeller does not move at all, and sometimes the propeller looks like a saggy banana or wilted flower. Image search “propeller camera effect” if you need a better visual.

A better visual
A better visual

The shutter effect happens because the camera shutter is essentially a line moving down the screen, recording whatever it touches. The propeller is spinning faster than the line is moving, so the propeller ends up looking disfigured because of the speed mismatch. You can use Tkinter, the Python Imaging Library (PIL or Pillow), and our trusty friend Numpy to model a spinning propeller and a panning shutter line to display what the camera sees in real-time.

Your program will use Numpy to create arrays for the panning line and spinning propeller, use Pillow to convert an array to an image, and use Tkinter to display the image. You will write the program so that you can input a propeller of between 2 and 8 blades to see how the shutter effect changes with blade count. This program is based on a program created by GitHub user dafarry, and the original program can be found here [1]. This program requires very advanced usage of Numpy with complex geometric planes. Explanations will be attempted and provided where possible, but it may be necessary to accept incomplete understanding at times. Such is life! This chapter is designed to show applications of advanced Python usage.

Conclusion for Web Scraping and Saving to Excel

Showing Camera Shutter Effect